<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>获取/设置当前会话 ID</title>
 </head>
 <body class="docs"><div id="layout">
  <div id="layout-content"><div id="function.session-id" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">session_id</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7)</p><p class="refpurpose"><span class="refname">session_id</span> &mdash; <span class="dc-title">获取/设置当前会话 ID</span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.session-id-description">
  <h3 class="title">说明</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>session_id</strong></span>
    ([ <span class="methodparam"><span class="type">string</span> <code class="parameter">$id</code></span>
  ] ) : <span class="type">string</span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>session_id()</strong></span> 可以用来获取/设置
   当前会话 ID。
  </p>
  <p class="para">
   为了能够将会话 ID 很方便的附加到 URL 之后，
   你可以使用常量 <strong><code>SID</code></strong>
   获取以字符串格式表达的会话名称和 ID。
   请参考 <a href="ref.session.html" class="link">会话处理</a>。
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.session-id-parameters">
  <h3 class="title">参数</h3>
  <p class="para">
   <dl>

    
     <dt>
<code class="parameter">id</code></dt>

      <dd>

       <p class="para">
        如果指定了 <code class="parameter">id</code> 参数的值，
        则使用指定值作为会话 ID。
        必须在调用 <span class="function"><a href="session_start.html" class="function">session_start()</a></span> 函数之前调用 
        <span class="function"><strong>session_id()</strong></span> 函数。
        不同的会话管理器对于会话 ID 中可以使用的字符有不同的限制。
        例如文件会话管理器仅允许会话 ID 中使用以下字符：<em>a-z A-Z 0-9 , （逗号）和 - （减号）</em>
       </p>
       <blockquote class="note"><p><strong class="note">Note</strong>: 
        <span class="simpara">
         如果使用 cookie 方式传送会话 ID，并且指定了 <code class="parameter">id</code> 参数，
         在调用 <span class="function"><a href="session_start.html" class="function">session_start()</a></span> 
         之后都会向客户端发送新的 cookie，
         无论当前的会话 ID 和新指定的会话 ID 是否相同。
        </span>
       </p></blockquote>
      </dd>

     
   </dl>

  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.session-id-returnvalues">
  <h3 class="title">返回值</h3>
  <p class="para">
   <span class="function"><strong>session_id()</strong></span> 返回当前会话ID。
   如果当前没有会话，则返回空字符串（<em>&quot;&quot;</em>）。
  </p>
 </div>


<div class="refsect1 seealso" id="refsect1-function.session-id-seealso">
  <h3 class="title">参见</h3>
  <p class="para">
   <ul class="simplelist">
    <li class="member"><span class="function"><a href="session_regenerate_id.html" class="function" rel="rdfs-seeAlso">session_regenerate_id()</a> - 使用新生成的会话 ID 更新现有会话 ID</span></li>
    <li class="member"><span class="function"><a href="session_start.html" class="function" rel="rdfs-seeAlso">session_start()</a> - 启动新会话或者重用现有会话</span></li>
    <li class="member"><span class="function"><a href="session_set_save_handler.html" class="function" rel="rdfs-seeAlso">session_set_save_handler()</a> - 设置用户自定义会话存储函数</span></li>
    <li class="member">
     <a href="session.configuration.html#ini.session.save-handler" class="link">session.save_handler</a>
    </li>
   </ul>
  </p>
 </div>

</div></div></div></body></html>